1. Field of the Invention
The present invention relates in general to the exchange of online information over a private network, and more particularly to a system and method for exchanging online information over a private network, wherein a server can send user datagram protocol (referred to hereinafter as UDP) standard-based data to a client connected thereto over the private network so that it can exchange the online information with the client according to a real-time protocol.
2. Description of the Prior Art
Recently, the number of Internet users has rapidly increased, resulting in a shortage of Internet protocol (referred to hereinafter as IP) addresses. In order to solve such a shortage of Internet protocol addresses and enable accesses of a larger number of persons to an Internet network, there have been proposed private IP addresses, which have been often used for additional applications such as security and load balancing.
Because such a private IP address is unique only in a private network, it must be translated into a public IP address to enable an associated client to gain access to a server over an Internet network connected to a public network. The translation of a private IP address into a public IP address is typically called a network address translation (referred to hereinafter as NAT).
Provided that a client desiring to use online information over the Internet network employs not a public IP address, but a private IP address, a router acting to route the client to a server with a public IP address performs the NAT function to translate the private IP address employed by the client into a public IP address for access of the client to the server providing information desired by the client.
The NAT may generally be classified into a static NAT and a dynamic NAT according to methods for translating a private IP address into a public IP address. Masquerading may be a special dynamic NAT.
The static NAT is applied to the case where private IP addresses are the same in number as public IP addresses. In this case, the static NAT is adapted to translate private IP addresses into public IP addresses at one-to-one regular intervals.
The dynamic NAT is applied to the case where private IP addresses are greater in number than public IP addresses. In this case, the dynamic NAT is adapted to assign public IP addresses dynamically to private IP addresses. As a result, a public IP address assigned dynamically to a private IP address is significant only when a client and server are kept connected to each other. Provided that the connection between the server and client is released, it will be impossible to gain access to the client using the public IP address assigned to the client. In this regard, the dynamic NAT function is often used in association with security related functions.
The masquerading function is applied to the case where one public IP address is employed. For connection of a plurality of clients with private IP addresses to an external server via one public IP address, port numbers are assigned respectively to the clients in addition to the public IP address, such that the plurality of private IP addresses are mapped to the single public IP address.
A client, connected to an external server over a private network on the basis of any NAT function as mentioned above, has an IP address on the private network, or a private IP address, different from an IP address for its actual address to the external server via a router, or a public IP address.
Accordingly, as shown in FIG. 1, there is no problem for a client C1, connected to an external server S1 over a private network on the basis of an NAT function, to exchange transmission control protocol (referred to hereinafter as TCP) standard-based information with the external server S1 via a router R1, in that the TCP standard-based information can be sent and received under the condition that the client C1 and server S1 are kept connected to each other. However, as shown in FIG. 2, it is practically next to impossible for a client C2 to exchange user datagram protocol (referred to hereinafter as UDP) standard-based information with a server S2, because the UDP standard-based information may be sent and received under the condition that the client C2 and server S2 are not connected to each other, in a different manner from the TCP standard-based information.
In other words, an IP address ‘205.184.151.171’ of the client C2 for actual access to the server S2 via a router R2 is different from a private IP address ‘20.0.0.1’ of the client C2 in the private network. For this reason, a UDP packet, sent from the server S2 with a public IP address ‘203.235.37.101’ to the client C2, is directed not to the client C2, but to a different client C3 with a public IP address ‘205.184.151.171’.
In particular, a voice packet with voice information complies with a real time protocol (referred to hereinafter as RTP), which is based on the UDP standard. In this connection, it is actually impossible to send a UDP packet to the client employing the NAT function as stated above.
In practice, many Voice Over IP (VoIP) providers for providing voice information sending/receiving services are also unable to perform two-way communications for a UDP standard-based packet with the NAT-based client as stated above.